package com.xinghai.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xinghai.common.annotation.Excel;
import com.xinghai.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

import static com.xinghai.common.annotation.Excel.Type.EXPORT;

/**
 * 司机信息对象 xh_driver_info
 * 
 * @author smy
 * @date 2024-07-21
 */
public class XhDriverInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 部门ID */
    private Long deptId;

    /** 司机姓名 */
    @Excel(name = "司机姓名")
    private String driverName;

    /** 手机号 */
    @Excel(name = "手机号")
    private String driverPhone;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String driverIdCard;

    /** 身份证正面缩略图 */
    private String driverIdCardFrontMiniUrl;

    /** 身份证正面照片 */
    @Excel(name = "身份证正面照片",type = EXPORT)
    private String driverIdCardFrontImgUrl;

    /** 身份证反面缩略图 */
    private String driverIdCardBackMiniUrl;

    /** 身份证反面照片 */
    @Excel(name = "身份证反面照片",type = EXPORT)
    private String driverIdCardBackImgUrl;

    /** 驾驶证号 */
    @Excel(name = "驾驶证号")
    private String driverLicenseNo;

    /** 驾驶证缩略图 */
    private String driverLicenseMiniUrl;

    /** 驾驶证照片 */
    @Excel(name = "驾驶证照片",type = EXPORT)
    private String driverLicenseImgUrl;

    /** 状态;状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用",type = EXPORT)
    private String status;

    /** 删除标识;删除标志（0代表存在 1代表删除） */
    private String delFlag;

    /** 物流公司id数组，查询用 */
    @TableField(exist = false)
    private List<Long> deptIdList = new ArrayList<>();

    public List<Long> getDeptIdList() {
        return deptIdList;
    }

    public void setDeptIdList(List<Long> deptIdList) {
        this.deptIdList = deptIdList;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }
    public void setDriverPhone(String driverPhone) 
    {
        this.driverPhone = driverPhone;
    }

    public String getDriverPhone() 
    {
        return driverPhone;
    }
    public void setDriverIdCard(String driverIdCard) 
    {
        this.driverIdCard = driverIdCard;
    }

    public String getDriverIdCard() 
    {
        return driverIdCard;
    }
    public void setDriverIdCardFrontMiniUrl(String driverIdCardFrontMiniUrl) 
    {
        this.driverIdCardFrontMiniUrl = driverIdCardFrontMiniUrl;
    }

    public String getDriverIdCardFrontMiniUrl() 
    {
        return driverIdCardFrontMiniUrl;
    }
    public void setDriverIdCardFrontImgUrl(String driverIdCardFrontImgUrl) 
    {
        this.driverIdCardFrontImgUrl = driverIdCardFrontImgUrl;
    }

    public String getDriverIdCardFrontImgUrl() 
    {
        return driverIdCardFrontImgUrl;
    }
    public void setDriverIdCardBackMiniUrl(String driverIdCardBackMiniUrl)
    {
        this.driverIdCardBackMiniUrl = driverIdCardBackMiniUrl;
    }

    public String getDriverIdCardBackMiniUrl()
    {
        return driverIdCardBackMiniUrl;
    }
    public void setDriverIdCardBackImgUrl(String driverIdCardBackImgUrl)
    {
        this.driverIdCardBackImgUrl = driverIdCardBackImgUrl;
    }

    public String getDriverIdCardBackImgUrl()
    {
        return driverIdCardBackImgUrl;
    }
    public void setDriverLicenseNo(String driverLicenseNo) 
    {
        this.driverLicenseNo = driverLicenseNo;
    }

    public String getDriverLicenseNo() 
    {
        return driverLicenseNo;
    }
    public void setDriverLicenseMiniUrl(String driverLicenseMiniUrl) 
    {
        this.driverLicenseMiniUrl = driverLicenseMiniUrl;
    }

    public String getDriverLicenseMiniUrl() 
    {
        return driverLicenseMiniUrl;
    }
    public void setDriverLicenseImgUrl(String driverLicenseImgUrl) 
    {
        this.driverLicenseImgUrl = driverLicenseImgUrl;
    }

    public String getDriverLicenseImgUrl() 
    {
        return driverLicenseImgUrl;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("driverName", getDriverName())
            .append("driverPhone", getDriverPhone())
            .append("driverIdCard", getDriverIdCard())
            .append("driverIdCardFrontMiniUrl", getDriverIdCardFrontMiniUrl())
            .append("driverIdCardFrontImgUrl", getDriverIdCardFrontImgUrl())
            .append("driverIdCardBackMiniUrl", getDriverIdCardBackMiniUrl())
            .append("driverIdCardBackImgUrl", getDriverIdCardBackImgUrl())
            .append("driverLicenseNo", getDriverLicenseNo())
            .append("driverLicenseMiniUrl", getDriverLicenseMiniUrl())
            .append("driverLicenseImgUrl", getDriverLicenseImgUrl())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }

    /** ============================= 查询使用 ============================= */

    /** 物流公司 */
    @TableField(exist = false)
    @Excel(name = "物流公司",type = EXPORT)
    private String deptName;

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}
